In typical software delivery systems, delivered installs may be black boxes. The installs may make changes to the system, such as installing files and writing application registration information. On WINDOWS systems, installs typically write to an add-remove-programs area of the system's registry. When writing to the add-remove-programs area of the registry, an installation may set the product name, manufacturer, and version for the installed software in a registry entry.
Add-remove-programs entries created by an installation may differ slightly (or sometimes significantly) from the metadata of a setup file of the installation. For example, the metadata of a setup file may include a key that indicates a product name, version, and vendor. In this example, an add-remove-programs entry may provide similar information, but the version number may be slightly different. As a result, two different software programs may be reported for a single install—one from delivery and a second from inventory. What is needed, therefore, is a more efficient and effective mechanism for managing and identifying software installed on client systems.